﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity.ModelConfiguration;
using CapaDeDominio;

namespace CapaDeDatos.EF.ORM
{
    public class ClienteMapping : EntityTypeConfiguration<Cliente>
    {
        public ClienteMapping()
            : base()
        {
            ToTable("cliente");
            HasKey(s => s.Codigo);
            Property(s => s.Codigo)
                .HasColumnName("codigo")
                .IsRequired()
                .HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None);
            Property(s => s.Nombres)
                .HasColumnName("nombres").IsRequired();
            Property(s => s.Apellidos)
                .HasColumnName("apellidos").IsRequired();
            HasRequired(s => s.Tip_Documento)
                .WithMany()
                .Map(d => d.MapKey("tip_documento"));
            Property(s => s.Nro_Documento)
                .HasColumnName("nro_documento").IsRequired();
            Property(s => s.Correo)
                .HasColumnName("correo").IsRequired();
            Property(s => s.Fec_Nacimiento)
                .HasColumnName("fec_nacimiento").IsRequired();
            HasRequired(s => s.Usuario)
                .WithMany()
                .Map(s => s.MapKey("codigo_usuario"));
            Property(s => s.Estado)
                .HasColumnName("estado").IsRequired();
        }
    }
}